Response Scheme

Response Scheme

Parameters of ApiResult

Name Type Required Description
Success boolean Information about if proccess resulted successfully or not.
Key string Type of response. Also each error has their own key. It's more like error code.
Data object / Generic<T> Contains main data of response. Data can be null with some unsuccessful requests.
Meta object Metadata about response, like pagination page counts or depricated elements etc.
Message string Message about request. Mostly unseuccessful requests have message about it.
IsUserFriendlyMessage boolean Indicates if Message comes from resources and readable by directly users or not.

The response scheme used for Audit Log is as follows.


    public class BaseResponseDto : AuditEvent
    {
        public string Id { get; set; }

        public string EventType { get; set; }

        public string UserEmail { get; set; }

        public string UserId { get; set; }

        public string UserAgent { get; set; }

        public string IP { get; set; }

        public string Context { get; set; }

        public string ActionType { get; set; }

        public string AppId { get; set; }

        public string ContextAction { get; set; }
    }

    public class LogResponseDto : BaseResponseDto
    {
        public object Target { get; set; }
    }

Object Mapping

Using auto mapper for object mapping.


    public class LogResponseMap : Profile
    {
        public LogResponseMap()
        {
            CreateMap<Log, LogResponseDto>().ReverseMap();

            CreateMap<AuditEvent, LogResponseDto>()
                .ForMember(dest => dest.Target, opt =>
                   {
                       opt.MapFrom(src => src.Target);
                   });
        }
    }